package org.ovirt.engine.ui.userportal.gin; import org.ovirt.engine.ui.common.gin.BaseSystemModule; import org.ovirt.engine.ui.common.section.DefaultMainSectionPlace; import org.ovirt.engine.ui.common.system.ClientStorageKeyPrefix; import org.ovirt.engine.ui.uicommonweb.auth.CurrentUserRole; import org.ovirt.engine.ui.uicommonweb.place.UserPortalApplicationPlaces; import org.ovirt.engine.ui.userportal.ApplicationConstants; import org.ovirt.engine.ui.userportal.ApplicationDynamicMessages; import org.ovirt.engine.ui.userportal.ApplicationMessages; import org.ovirt.engine.ui.userportal.ApplicationResources; import org.ovirt.engine.ui.userportal.ApplicationResourcesWithLookup; import org.ovirt.engine.ui.userportal.ApplicationTemplates; import org.ovirt.engine.ui.userportal.auth.LoggedInExtendedPlaceGatekeeper; import org.ovirt.engine.ui.userportal.auth.UserPortalCurrentUserRole; import org.ovirt.engine.ui.userportal.place.UserPortalPlaceManager; import org.ovirt.engine.ui.userportal.section.DefaultMainSectionExtendedPlace; import com.google.inject.Singleton; /** * GIN module containing UserPortal infrastructure and configuration bindings. */ public class SystemModule extends BaseSystemModule { private static final String CLIENT_STORAGE_KEY_PREFIX = "ENGINE_UserPortal"; //$NON-NLS-1$ @SuppressWarnings("deprecation") @Override protected void configure() { requestStaticInjection(ClientGinjectorProvider.class); requestStaticInjection(AssetProvider.class); bindInfrastructure(); bindConfiguration(); } void bindInfrastructure() { bindCommonInfrastructure(UserPortalPlaceManager.class); bind(LoggedInExtendedPlaceGatekeeper.class).in(Singleton.class); bindTypeAndImplAsSingleton(CurrentUserRole.class, UserPortalCurrentUserRole.class); } void bindConfiguration() { bindConstant().annotatedWith(DefaultMainSectionPlace.class) .to(UserPortalApplicationPlaces.DEFAULT_MAIN_SECTION_BASIC_PLACE); bindConstant().annotatedWith(DefaultMainSectionExtendedPlace.class) .to(UserPortalApplicationPlaces.DEFAULT_MAIN_SECTION_EXTENDED_PLACE); bindConstant().annotatedWith(ClientStorageKeyPrefix.class) .to(CLIENT_STORAGE_KEY_PREFIX); bindResourceConfiguration(ApplicationConstants.class, ApplicationMessages.class, ApplicationResources.class, ApplicationTemplates.class, ApplicationDynamicMessages.class); bind(ApplicationResourcesWithLookup.class).in(Singleton.class); } }